# TODO *args 位置不定长参数
# 定义
def add(*args):
    print(type(args), args)


# 调用
# 以位置传参方式，传入任意多个实参
add(1, 2, 3, 'gg', True)


# TODO **kwargs 关键字不定长参数
def fn2(**kwargs):
    print(type(kwargs), kwargs)


# 调用
# 可以传入任意多个关键字方式的实参
fn2(a=2, b=5, c=80, d='vf', name='hhl')


# TODO 万能参数
def fn3(*args, **kwargs):
    print(args)
    print(kwargs)
